Using Formal Methods for Teaching Software Engineering: A Tool-Based Approach

نویسندگان

  • Paolo Ciancarini
  • Cecilia Mascolo
چکیده

In this paper we describe and review the course plan and syllabus we use in a course on formal methods in software engineering currently included in the degree in Informatics of the Faculty of Sciences at the University of Bologna. The course matches the theory of formal methods with their practice based on actual tool usage. In fact, the course is centered upon a project whose main goal is to let students learn some formal speci cation techniques all supported by speci c tools. The students use well-known notations for both requirements speci cation and formal design. The formal methods we use are based on the Z notation for requirements speci cation and on the Larch family of languages for design speci cations. ii , 1

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Developing Reliable yet Flexible Software through If-Then Model Transformation Rules

Developing reliable yet flexible software is a hard problem. Although modeling methods enjoy a lot of advantages, the exclusive use of just one of them, in many cases, may not guarantee the development of reliable and flexible software. Formal modeling methods ensure reliability because they use a rigorous approach to software development. However, lack of knowledge and high cost practically fo...

متن کامل

Teaching MDE through the Formal Verification of Process Models

Model Driven Engineering (MDE) and formal methods (FM) play a key role in the development of Safety Critical Systems (SCS). They promote user oriented abstraction and formal specification using Domain Specific Modeling Languages (DSML), early Validation and formal Verification (V&V) using efficient dedicated technologies and Automatic Code and Documentation Generation. Their combined use allow ...

متن کامل

Specification-Driven Design with Eiffel and Agents for Teaching Lightweight Formal Methods

We report on our experiences in teaching lightweight formal methods with Eiffel. In particular, we discuss how we introduce formal methods via Eiffel’s design-by-contract and agent technologies, and how we integrate these techniques with test-driven development, in an approach called specification-driven design. This approach demonstrates how formal methods techniques fit with industrial softwa...

متن کامل

An Educational Logic Tool for the Formal Verification, Design by Contract, and Algorithmic Debugging of Imperative Programs

While logic plays an important role in several areas of Computer Science (CS) and Software Engineering (SE), most of the educational technology developed for teaching logic ignores their application in a more large portion of the CS and SE education domain. In this paper we describe an innovative methodology based on a prototype logic teaching tool on semantic tableaux to prepare and train the ...

متن کامل

A Software Engineering Approach to Neural Network Speciication

An approach for the speciication and implementation of neural networks within a software engineering framework is presented. We show the suit-ability of the formal methods of the OMT (Object Modeling Technique) introduced by Rumbaugh 2] using an object-oriented CASE (computer aided software engineering) tool.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Ann. Software Eng.

دوره 6  شماره 

صفحات  -

تاریخ انتشار 1998